Computer hardware systems have gotten increasingly powerful and complex. Software applications that run on computer hardware systems have similarly increased in complexity and features. With each new release of a software, its designers are encouraged to provide ever more features that give value-add to customers. Further, complex tasks and issues, such as for example in the movie, artistic, or healthcare industries, require complex software capabilities. Accordingly, user interfaces for software applications have had a hard time finding a good balance between providing an easy to understand and navigate interface showing various options for selection without being confusing or overwhelming.
Users of computer software applications are increasingly diverse in capability. Some users are sophisticated users of all software and know how to explore the various menus, buttons, toolbars, and interface features to learn a new user interface. Some users are sophisticated users but only as it comes to a single software application or application suite. Some users are new to a software application and can become sophisticated with proper training. Some users dislike having to learn any new software and prefer to understand a few features and use them instead of becoming more sophisticated on the whole software. Some users dislike software in general and want the tools to do most of the selections without their direct input. Some users prefer or only can use certain input types or paradigms, for example only preferring voice input and shunning keyboard input. And many other user types exist. It can be a problem for a user interface to be able to support the variety of users that may encounter it.
User interface designers generally do not have good tools to understand how the users of their software are using it and how to automatically improve the user interface to maximize user time and reduce user annoyance. In certain settings, such as the healthcare industry, less time in the software to diagnose an issue or find certain information can even save lives and improve healthcare for large parts of the population. Systems and methods for improving understanding of how a user interface is utilized by users, along with proposing improved user interface design automatically, would be very useful to user interface designers as well as users of software applications.
In some circumstances, there may be high-quality usage practices of interacting with a user interface and software workflows to achieve targeted results, otherwise known as gold standards. Current systems do not allow for identifying, understanding sharing, or leveraging user interface and software workflow gold standards individually or across users.